Έχω ένα query όπως το παρακάτω:
string[] priorityDescription = { "Χαμηλή", "Κανονική", "Υψηλή" };
var OpenTaskList = (from t in db.Tasks
where t.status == 0
orderby t.priority descending
from p in db.Projects
where t.projectID == p.projectID
select new
{
ProjectID = p.projectID,
Name = p.name,
PriorityDesc = priorityDescription[t.priority],
t.taskID,
t.name,
t.projectID,
t.category,
t.status,
t.imerominia_kataxorisis,
t.priority
});
Όλα λειτουργούν καλά εκτός από το
PriorityDesc = priorityDescription[t.priority]
Μου βγάζει μήνυμα μετά το debug "Unrecognized expression node: ArrayIndex"
To πεδίο t.priority είναι Int και Notnull.
Όταν χρησιμοποιώ PriorityDesc = priorityDescription[1] δουλεύει σωστά.
Δοκίμασα
PriorityDesc = priorityDescription[t.priority.Value] PriorityDesc = priorityDescription[(int)t.priority]
PriorityDesc = priorityDescription[Convert.ToInt32(t.Priority)]
αλλά τίποτα.
Έχω ξεκινήσει και μια συζήτηση παράλληλα στο http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/925e7e5b-9f05-4e28-bbe5-ab2a1b89ffdd/
αλλά δεν έχω βρει λύση.
Αν σκεφτείτε τίποτα... Post it.